Metadata response now also contains package description.
authorRobert Vally <rvally@gmail.com>
Thu, 2 Feb 2017 07:59:34 +0000 (15:59 +0800)
committerRobert Vally <rvally@gmail.com>
Thu, 2 Feb 2017 07:59:34 +0000 (15:59 +0800)
src/cargo/core/package.rs
tests/metadata.rs

index 58135fda0935a085edc303655556a0d4e7c90d56..6b4cd2835d95e7131d493ccc1142017073d24401 100644 (file)
@@ -31,6 +31,7 @@ struct SerializedPackage<'a> {
     id: &'a PackageId,
     license: Option<&'a str>,
     license_file: Option<&'a str>,
+    description: Option<&'a str>,
     source: &'a SourceId,
     dependencies: &'a [Dependency],
     targets: &'a [Target],
@@ -45,6 +46,7 @@ impl Encodable for Package {
         let manmeta = self.manifest.metadata();
         let license = manmeta.license.as_ref().map(String::as_ref);
         let license_file = manmeta.license_file.as_ref().map(String::as_ref);
+        let description = manmeta.description.as_ref().map(String::as_ref);
 
         SerializedPackage {
             name: &package_id.name(),
@@ -52,6 +54,7 @@ impl Encodable for Package {
             id: package_id,
             license: license,
             license_file: license_file,
+            description: description,
             source: summary.source_id(),
             dependencies: summary.dependencies(),
             targets: &self.manifest.targets(),
index e65beb7ed7ab46d9034f56a75c00c2be9e448d81..349de9fc195eeb5902dfa5e8e3eea7cbd51460eb 100644 (file)
@@ -22,6 +22,7 @@ fn cargo_metadata_simple() {
                 "dependencies": [],
                 "license": null,
                 "license_file": null,
+                "description": null,
                 "targets": [
                     {
                         "kind": [
@@ -86,6 +87,7 @@ fn cargo_metadata_with_deps_and_version() {
                 "source": "registry+[..]",
                 "license": null,
                 "license_file": null,
+                "description": null,
                 "targets": [
                     {
                         "kind": [
@@ -117,6 +119,7 @@ fn cargo_metadata_with_deps_and_version() {
                 "source": "registry+[..]",
                 "license": null,
                 "license_file": null,
+                "description": null,
                 "targets": [
                     {
                         "kind": [
@@ -148,6 +151,7 @@ fn cargo_metadata_with_deps_and_version() {
                 "source": null,
                 "license": "MIT",
                 "license_file": null,
+                "description": "foo",
                 "targets": [
                     {
                         "kind": [
@@ -210,6 +214,7 @@ fn workspace_metadata() {
                 "dependencies": [],
                 "license": null,
                 "license_file": null,
+                "description": null,
                 "targets": [
                     {
                         "kind": [ "lib" ],
@@ -228,6 +233,7 @@ fn workspace_metadata() {
                 "dependencies": [],
                 "license": null,
                 "license_file": null,
+                "description": null,
                 "targets": [
                     {
                         "kind": [ "lib" ],
@@ -281,6 +287,7 @@ fn workspace_metadata_no_deps() {
                 "dependencies": [],
                 "license": null,
                 "license_file": null,
+                "description": null,
                 "targets": [
                     {
                         "kind": [ "lib" ],
@@ -299,6 +306,7 @@ fn workspace_metadata_no_deps() {
                 "dependencies": [],
                 "license": null,
                 "license_file": null,
+                "description": null,
                 "targets": [
                     {
                         "kind": [ "lib" ],
@@ -340,6 +348,7 @@ const MANIFEST_OUTPUT: &'static str=
         "dependencies":[],
         "license": null,
         "license_file": null,
+        "description": null,
         "targets":[{
             "kind":["bin"],
             "name":"foo",